Machine translation systems are generally used to facilitate translation of text from a source language to a target language. Translations are typically initiated by a user, where the user provides a translation query, for example by entering the translation query via text or via speech, into a user device such as a computer or a mobile phone. The query is then translated into a language indicated by the user, and the translation is displayed to the user via the user device. However, in some situations, such user-provided query based translation systems are slow, inconvenient, and prone to error. For example, in a travel situation, if a user wants to effectively communicate with local people in a foreign language, typing or speaking a query into a user device may take too long and the user is likely to make a mistake. Moreover, it may take long for the translation system to produce a translation, and the translation may be inaccurate, for example due to user entry error or inaccuracies that may be associated with machine translations.